package com.yz.app.sale.base;

import android.app.Application;
import android.util.Log;
import android.widget.Toast;

import com.yz.app.sale.net.NetChangeObserver;
import com.yz.app.sale.net.NetWorkUtil;
import com.yz.app.sale.net.NetworkStateReceiver;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;


/**
 * ----------BigGod be here!----------/
 * ***┏┓******┏┓*********
 * *┏━┛┻━━━━━━┛┻━━┓*******
 * *┃             ┃*******
 * *┃     ━━━     ┃*******
 * *┃             ┃*******
 * *┃  ━┳┛   ┗┳━  ┃*******
 * *┃             ┃*******
 * *┃     ━┻━     ┃*******
 * *┃             ┃*******
 * *┗━━━┓     ┏━━━┛*******
 * *****┃     ┃神兽保佑*****
 * *****┃     ┃代码无BUG！***
 * *****┃     ┗━━━━━━━━┓*****
 * *****┃              ┣┓****
 * *****┃              ┏┛****
 * *****┗━┓┓┏━━━━┳┓┏━━━┛*****
 * *******┃┫┫****┃┫┫********
 * *******┗┻┛****┗┻┛*********
 * ━━━━━━神兽出没━━━━━━
 *
 * 项目名称：ProjectFunction
 * 类描述：
 * 创建人：zhangwei
 * 创建时间：2016-06-13 21:03
 * 修改人：zhangwei
 * 修改时间：2016-06-13 21:03
 * 修改备注：
 * 1>初始化全局配置,第三方的sdk
 * 2>初始化第三方的SDK
 * 3>初始化通用框架
 * 全局异常处理
 * 友盟统计有全局异常的处理
 */

public class BaseApp extends Application {
    public static BaseApp app;

    private NetChangeObserver observer = new NetChangeObserver() {

        @Override
        public void onConnect(NetWorkUtil.NetType type) {
            super.onConnect(type);
            //表示已连接
            switch (type) {
                case NETWORK_WIFI:
                    //表示wifi
                    break;
                default:
                    Toast.makeText(BaseApp.this, "2/3/4G网络已连接", Toast.LENGTH_SHORT).show();
                    break;
            }

        }

        @Override
        public void onDisConnect() {
            super.onDisConnect();
            //表示网络已断开
        }
    };

    @Override
    public void onCreate() {
        super.onCreate();
        app = this;
        initNetState();

    }

    private void initNetState() {
        //动态注册网络监听
        NetworkStateReceiver.registerNetworkStateReceiver(this);

        //注册网络变化的观察者
        NetworkStateReceiver.registerObserver(observer);
    }

           /**
         * 程序结束的位置 注销监听
         */
    public void unRegisterNetworkStateReceiver() {
        NetworkStateReceiver.unRegisterNetworkStateReceiver(this);
        if (observer != null) {
            NetworkStateReceiver.removeRegisterObserver(observer);
        }

    }


}
